package com.cskaoyan.extend.override;

/*
      注意事项：
        1.父类中私有方法不能被覆盖
        2.静态方法不能被覆盖！！

        可以利用@OVerride注解，来测试是否发生方法覆盖:
        一旦我们给一个方法加@Override注解，就相当于在告诉编译，该方法一定覆盖父类的方法
 */
public class Demo4Note {

    public static void main(String[] args) {
        NoteSon noteSon = new NoteSon();
        noteSon.fatherTest();
    }
}

class NoteFather {

    /*
         测试方法覆盖效果
     */
    public void fatherTest() {
        privateMethod(); // 没有发生方法覆盖
    }

    /*
         私有方法不能被覆盖
     */
    private void privateMethod() {
        System.out.println("private father");
    }

    public static void staticMethod() {
        System.out.println("father static");
    }

}

class NoteSon extends NoteFather {

    private void privateMethod() {
        System.out.println("private son");
    }

    /*
        使用@Override注解测试是否发生了方法覆盖
     */
    //@Override
    public static void staticMethod() {
        System.out.println("father static");
    }

}
